<template>
   <div class="todo-footer" v-show="todoCount>0">
        <label>
        <!-- <input type="checkbox" @change="checkAll($event)" :checked="isAll" /> -->
        <input type="checkbox" v-model="isAll" />
        </label>
        <span>
        <span>已完成{{todoCompleted}}</span> / 全部{{todoCount}}
        </span>
        <button class="btn btn-danger" @click="delDeon">清除已完成任务</button>
    </div>
</template>

<script>
    export default {
        name:'UserFooter',
        // 简单接收数据
        props:['todos','todoCheckAll','delTodoDeon'],
        // 计算属性
        computed:{
            // 全部
            todoCount(){
                return this.todos.length
            },
            // 已完成
            todoCompleted(){
                // 方式一：过滤所有已完成且统计总数
                /* return  this.todos.filter((todo)=>{
                    return todo.done
                }).length */

                // 方式二：ES6 reduce() 函数
                return this.todos.reduce((pre,todo)=>{
                    return pre + (todo.done ? 1 : 0 )
                },0)
            },
            // 是否全选or取消全选
            isAll:{
                get(){
                     return this.todoCount === this.todoCompleted  && this.todoCompleted>0
                },
                set(value){
                    // 全选or取消全选
                    this.todoCheckAll(value)
                }
            }
        },
        methods:{
            // 全选or取消全选
            /* checkAll(event){
                this.todoCheckAll(event.target.value)
            }, */
            // 清除已完成
            delDeon(){
                if(confirm('是否请确认清除所有已完成？')){
                    this.delTodoDeon()   
                }
            }
        },

    }
    
</script>

<style scoped>
    /*footer*/
    .todo-footer {
    height: 40px;
    line-height: 40px;
    padding-left: 6px;
    margin-top: 5px;
    }

    .todo-footer label {
    display: inline-block;
    margin-right: 20px;
    cursor: pointer;
    }

    .todo-footer label input {
    position: relative;
    top: -1px;
    vertical-align: middle;
    margin-right: 5px;
    }

    .todo-footer button {
    float: right;
    margin-top: 5px;
    }
</style>